id באורך קבוע במסד
נניח 5 מספרים, Auto Increment.
זה אפשרי? איך?
20 תשובות
אתה יכול להתחיל את ה autoincrement מ 9999 וכל השורות הבאות יהיו בעורך של חמש.
רק שאתה לא יכול להגביל את זה לא לעבור את 99999. זה יעבור וימשיך כרגיל.
אחרי זה השורה הבאה תהיה 10000
למה? זה משמעותי לאתר חדש, כשרואים שהכתבה העדכנית ביותר היא q?id=8 זה יוצר תחושה של אתר ריק.
אמנם רוב האנשים לא מסתכלים על זה, אבל יש גולשים ששמים לב, ומבינים בזה.
תעשה משהו בסגנון
וככה גם לקדם את האתר וגם לנמוע תחושה של "ריק"
(כאילו תשלוף את המידע לפי שם ולא לפי ID, כדי למנוע כפילויות עדיף גם וגם..)
בהצלחה.
ואם כבר מדברים על זה, כדאי לך להשתמש במקפים במקום בפלוסים. נוח יותר, מקובל יותר.
כבר השתמשתי בזה בעבר, זה קצת בעייתי באתר הספציפי הזה כי אני מנסה ליצור קישורים קצרים ככל האפשר, זה מאד מאריך את הקישורים בגלל הURL ENCODE.
לדעתי אתה מתעסק בתפל.
אם מישה יראה ID=8 במקום 8000 אז הוא מיד ייצא מהאתר שלך ולא יקרא את התוכן המעולה שלך או את מה שהוא חיפוש בגוגל?
או אם הקישור ארוך מדי אז הוא לא ילחץ עליו בכל מקרה בתוצאות החיפוש?
כל אלו משחקים תפקיד כל כך כל כך מזערי שאני בספק אם תאבד בגלל זה גולש אחד מתוך מאה אלף, כל עוד האתר שלך מציעה משהו מועיל לגולשים
במקום זה תוכל להשקיע את הזמן בהזנת תכנים באתר, כדי שלא יראה ריק. שגם זה בכלל לא בעיה.
קודם כל, כן, זה מאד מעצבן אנשים להעתיק קישור ארוך כל כך שהוא תופס 8-9 שורות בצאט ממוצע.
בנוגע לID, זו הבעיה, שהתכנים הם של המשתמש, לא שלי, מה שמונע ממני התערבות.
ולהעלות 300 תכנים ראשוניים בשמות שונים זה לא פשוט...
זו בהחלט בעיה, אבל זה שווה את זה. כתובת של עמוד אינטרנט צריכה להיות מובנת לגולש (בניגוד לעוגיות וכדו'), אחרת היא לא הייתה מוצגת, ולא הייתה משמשת תפקיד חשוב כל כך בהגשת העמוד לגולש.
את הבעיה שהצגת אפשר לעקוף. אני הייתי ממליץ על יצירת שני מבני כתובות:
1. ID בלבד.
2. כותרת שאנשים יבינו (אני הייתי ממליץ לעשות היררכיה של קטגוריות אם זה רלוונטי), נוסף על ID (כדי שאחזור המידע לא יגזול הרבה משאבים).
אתה מרוויח מהכתובת השנייה - מנועי חיפוש ונוחות גלישה. את הכתובת הראשונה ספק בתור קישור קבוע (Permalink) שיהיה בעמוד. על מנת למנוע כפילות תוכן השתמש בתגית קנוניקל (Canonical) ותגדיר את הכתובת השנייה ככתובת הראשית.
חברים אתם סוטים מהנושא, ביקשתי פתרון קיבלתי יעוץ אישי.
תאמינו לי, אני מודע לכל התועלת של קישורים כאלו, וזה פשוט לא מדבר אלי, מהסיבה הפשוטה, שאני לא צריך לקדם את האתר בגוגל.
אני כן צריך קישור קצר ואסטטי.
אתם יכולים לעזור לי?
אנחנו כאן מנסים להסתכל מעבר לפרטים שמבקשים, ולהרחיב. אני מתנצל אם זה היה יותר מדי ועל כך שלא עניתי קודם על השאלה.
MySQL מאפשר לך לקבוע מהיכן להתחיל את הספירה האוטומטית. הוא מאפשר לך לקבוע גם כמה מספרים לקפוץ בכל פעם. הוא לא מאפשר לך להשתמש באלגוריתם שימצא מספרים רנדומליים; זה פשוט לא התפקיד שלו.
אם אתה בכל זאת רוצה לעשות את זה, אתה יכול להעביר את האחריות על זה ל-PHP עצמה. כתוב פונקציה שתעשה לך את זה (קח מגוגל אם אתה רוצה; לא חסר), רק אל תשכח שכל פעם תצטרך לבדוק שהמפתח לא בשימוש כבר.
לא צריך להתנצל, אתה לא חייב לי משהו.
בכל אופן תודה רבה על התשובה, עזרת לי מאד :)
אתה גם יכול להמיר מבסיס 10 לבסיס 62 (כמו יוטיוב אם אני לא טועה) וככה לא רואים 1..2..3 אלה אותיות באנגלית שנראות "רנדיומליות" אבל למעשה הם בסדר מסוים.
זה עדיף כי ברגע שאתה יוצר מחרוזת רנדיאמאלית אתה צריך לבדוק במסד עם המפתח הזה קיים וזה סוג של בזבוז..
משהו כזה (זה פסודו קוד, הוא לא באמת יעבוד אבל זאת הלוגיקה בראש שלי.. אם לא הבנת משהו, שאלנה..)
רק בעיה אחת: יש "מחלוקת" בין מגוון פתרונות המרה מבסיס 10 לבסיס 62, חלקן טוענות ש-'122555' בבסיס 10, שווה ל Vsh בבסיס 62, וחלקן טוענות ששווה ל- 'vSH'...